Variable bit rate codecs can include devices, instructions, or computer-implemented programs that can compress data, such as to enable greater throughput of information transfer over a network, and can decompress data for use or further processing. In an example, a variable bit rate codec may not guarantee a specified bit rate, or average bit rate, over a group of frames. In some examples, other frame processing is provided to sever frames, or bit packets, into smaller discrete parts such that the parts can fit within a specified average bit rate target, such as for a given audio or video segment. However, such packetizing can be undesirable since it increases a processing load.
In some examples, a bit reservoir can be used to limit an overall bit rate fluctuation. The bit reservoir can be employed to constrain variation of per-frame bit allocations, such as to one frame of bit payload. The bit reservoir approach, however, has several drawbacks One is that there is no guarantee of satisfying a target average bit rate over a group of frames. Another is that one frame may deplete the reservoir and then the next may receive fewer bits than is desired for sufficiently encoding the information in the frame. This can be especially problematic when fewer bits are available to encode present information, when the present information is perceptually more important than information that precedes or follows the present information.